\hypertarget{sc2__interfaces_8h}{}\section{include/sc2api/sc2\+\_\+interfaces.h File Reference}
\label{sc2__interfaces_8h}\index{include/sc2api/sc2\+\_\+interfaces.\+h@{include/sc2api/sc2\+\_\+interfaces.\+h}}


A set of public facing interfaces used to query game state.  


{\ttfamily \#include \char`\"{}sc2api/sc2\+\_\+common.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}sc2api/sc2\+\_\+action.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}sc2api/sc2\+\_\+unit.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}sc2api/sc2\+\_\+data.\+h\char`\"{}}\newline
{\ttfamily \#include $<$vector$>$}\newline
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \hyperlink{classsc2_1_1_observation_interface}{sc2\+::\+Observation\+Interface}
\begin{DoxyCompactList}\small\item\em The \hyperlink{classsc2_1_1_observation_interface}{Observation\+Interface} reflects the current state of the game. Guaranteed to be valid when On\+Game\+Start or On\+Step is called. \end{DoxyCompactList}\item 
class \hyperlink{classsc2_1_1_query_interface}{sc2\+::\+Query\+Interface}
\item 
struct \hyperlink{structsc2_1_1_query_interface_1_1_pathing_query}{sc2\+::\+Query\+Interface\+::\+Pathing\+Query}
\item 
struct \hyperlink{structsc2_1_1_query_interface_1_1_placement_query}{sc2\+::\+Query\+Interface\+::\+Placement\+Query}
\item 
class \hyperlink{classsc2_1_1_action_interface}{sc2\+::\+Action\+Interface}
\item 
class \hyperlink{classsc2_1_1_action_feature_layer_interface}{sc2\+::\+Action\+Feature\+Layer\+Interface}
\item 
class \hyperlink{classsc2_1_1_debug_interface}{sc2\+::\+Debug\+Interface}
\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef std\+::function$<$ bool(const Unit \&unit)$>$ \hyperlink{sc2__interfaces_8h_a5cc3d9751182ccd2b085f3e272bcc88b}{sc2\+::\+Filter}
\end{DoxyCompactItemize}
\subsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{sc2__interfaces_8h_afc6e05d736b6c20a5d335f4959912af7}\label{sc2__interfaces_8h_afc6e05d736b6c20a5d335f4959912af7}} 
enum {\bfseries Visibility} \{ {\bfseries Hidden} = 0, 
{\bfseries Fogged} = 1, 
{\bfseries Visible} = 2, 
{\bfseries Full\+Hidden} = 3
 \}
\end{DoxyCompactItemize}


\subsection{Detailed Description}
A set of public facing interfaces used to query game state. 

Each function in this class is pure virtual but is not intended for a user of the A\+PI to overwrite. An implementation file that utilizes this interface will be responsible for its definition and should be of little concern to the consumer. 

\subsection{Typedef Documentation}
\mbox{\Hypertarget{sc2__interfaces_8h_file_a5cc3d9751182ccd2b085f3e272bcc88b}\label{sc2__interfaces_8h_file_a5cc3d9751182ccd2b085f3e272bcc88b}} 
\index{sc2\+\_\+interfaces.\+h@{sc2\+\_\+interfaces.\+h}!Filter@{Filter}}
\index{Filter@{Filter}!sc2\+\_\+interfaces.\+h@{sc2\+\_\+interfaces.\+h}}
\subsubsection{\texorpdfstring{Filter}{Filter}}
{\footnotesize\ttfamily typedef std\+::function$<$bool(const Unit\& unit)$>$ \hyperlink{sc2__interfaces_8h_a5cc3d9751182ccd2b085f3e272bcc88b}{sc2\+::\+Filter}}

Used to filter out units when querying. You can use this filter to get all full health units, for example. 
\begin{DoxyParams}{Parameters}
{\em unit} & The unit in question to filter. \\
\hline
{\em observation} & The interface for querying game state to determine whether the unit should be filtered or not. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
Whether or not to filter the unit in or out of the list. true will add the unit, false will leave it out of the list. 
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
Get\+Units() 
\end{DoxySeeAlso}
